package com.jf.cloud.product.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.jf.cloud.common.product.vo.BrandLangVO;
import com.jf.cloud.common.product.vo.SpuLangVO;
import com.jf.cloud.common.product.vo.SpuSkuAttrValueVO;

import java.util.List;

public class SupplierProdExcelVO {
    /**
     * excel 信息
     */
    public static final String EXCEL_NAME = "商品信息";
    public static final String SHEET_NAME = "商品";
    /**
     * 哪一行开始导出
     */
    public static final int MERGE_ROW_INDEX = 2;
    /**
     * 需要合并的列数组
     */
    public static final int[] MERGE_COLUMN_INDEX = {0,1,2,3,4,5,6,7,8,9,10,11,12};

    /**
     * 需要批注的列
     */
    public static final int[] COMMENT_INDEX = {3, 4,8};
    /**
     * 对应列批注信息
     */
    public static final String[] COMMENTS = {
            "1. 选填，请填写图片在图片服务器的url地址;\n"
                    + "2. 最多可上传9张，不同图片轻易\\',\\'隔开;",
            "1. 选填，请填写视频在视频服务器的url地址;\n"
                    + "2. 只能添加一个视频连接;\n"
                    + "3. 视频仅支付mp4格式，最大限制50MB;",
            "默认支持快递配送"
    };

    @ExcelProperty(value = {"商品信息", "编号*"}, index = 0)
    private String seq;

    @ExcelProperty(value = {"商品信息", "商品中文名称*"}, index = 1)
    private String nameZh;

    @ExcelProperty(value = {"商品信息", "商品spu编码"}, index = 2)
    private String spuCode;
    @ExcelProperty(value = {"商品信息", "商品图片"}, index = 3)
    private String imgs;
    @ExcelProperty(value = {"商品信息", "商品视频"}, index = 4)
    private String video;
    @ExcelProperty(value = {"商品信息", "商品中文卖点"}, index = 5)
    private String sellingPointZh;

    @ExcelProperty(value = {"商品信息", "品牌"}, index = 6)
    private String brandName;

    @ExcelProperty(value = {"商品信息", "平台分类*"}, index = 7)
    private String categoryName;

    @ExcelProperty(value = {"商品信息", "配送方式"}, index = 8)
    private String deliveryMode;

    @ExcelProperty(value = {"商品信息", "运费模板*"}, index = 9)
    private String deliveryTemplate;

    @ExcelProperty(value = {"商品信息", "状态*"}, index = 10)
    private String status;

    @ExcelProperty(value = {"商品sku信息", "中文sku名称"}, index = 11)
    private String skuNameZh;

    @ExcelProperty(value = {"商品sku信息", "中文销售属性"}, index = 12)
    private String propertiesZh;

    @ExcelProperty(value = {"商品sku信息", "售价"}, index = 13)
    private String priceFee;

    @ExcelProperty(value = {"商品sku信息", "市场价"}, index = 14)
    private String marketPriceFee;

    @ExcelProperty(value = {"商品sku信息", "库存"}, index = 15)
    private Integer stock;

    @ExcelProperty(value = {"商品sku信息", "商品sku编码"}, index = 16)
    private String partyCode;

    @ExcelProperty(value = {"商品sku信息", "商品条形码"}, index = 17)
    private String modelId;

    @ExcelProperty(value = {"商品sku信息", "商品重量"}, index = 18)
    private Double weight;

    @ExcelProperty(value = {"商品sku信息", "商品体积"}, index = 19)
    private Double volume;
    @ExcelProperty(value = {"商品sku信息","库存预警"},index = 20)
    private Long stockWarning;
    /**
     * 商品id
     */
    @ExcelIgnore
    private Long spuId;

    /**
     * 物流模板id
     */
    @ExcelIgnore
    private Long deliveryTemplateId;

    /**
     * 是否收藏
     */
    @ExcelIgnore
    private Integer isCompose;

    @ExcelIgnore
    private List<SpuSkuAttrValueVO> spuSkuAttrValueList;

    @ExcelIgnore
    private List<BrandLangVO> brandLangList;

    @ExcelIgnore
    private List<SpuLangVO> spuLangList;

    @ExcelIgnore
    private Long categoryId;

    @ExcelIgnore
    private Long shopCategoryId;

    @ExcelIgnore
    private String shopCategoryName;

    public Long getStockWarning() {
        return stockWarning;
    }

    public void setStockWarning(Long stockWarning) {
        this.stockWarning = stockWarning;
    }

    public String getImgs() {
        return imgs;
    }

    public void setImgs(String imgs) {
        this.imgs = imgs;
    }

    public String getVideo() {
        return video;
    }

    public void setVideo(String video) {
        this.video = video;
    }

    public String getSpuCode() {
        return spuCode;
    }

    public void setSpuCode(String spuCode) {
        this.spuCode = spuCode;
    }

    public String getSeq() {
        return seq;
    }

    public void setSeq(String seq) {
        this.seq = seq;
    }

    public String getNameZh() {
        return nameZh;
    }

    public void setNameZh(String nameZh) {
        this.nameZh = nameZh;
    }



    public String getSellingPointZh() {
        return sellingPointZh;
    }

    public void setSellingPointZh(String sellingPointZh) {
        this.sellingPointZh = sellingPointZh;
    }



    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public String getDeliveryMode() {
        return deliveryMode;
    }

    public void setDeliveryMode(String deliveryMode) {
        this.deliveryMode = deliveryMode;
    }

    public String getDeliveryTemplate() {
        return deliveryTemplate;
    }

    public void setDeliveryTemplate(String deliveryTemplate) {
        this.deliveryTemplate = deliveryTemplate;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getSkuNameZh() {
        return skuNameZh;
    }

    public void setSkuNameZh(String skuNameZh) {
        this.skuNameZh = skuNameZh;
    }



    public String getPropertiesZh() {
        return propertiesZh;
    }

    public void setPropertiesZh(String propertiesZh) {
        this.propertiesZh = propertiesZh;
    }



    public String getPriceFee() {
        return priceFee;
    }

    public void setPriceFee(String priceFee) {
        this.priceFee = priceFee;
    }

    public String getMarketPriceFee() {
        return marketPriceFee;
    }

    public void setMarketPriceFee(String marketPriceFee) {
        this.marketPriceFee = marketPriceFee;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public String getPartyCode() {
        return partyCode;
    }

    public void setPartyCode(String partyCode) {
        this.partyCode = partyCode;
    }

    public String getModelId() {
        return modelId;
    }

    public void setModelId(String modelId) {
        this.modelId = modelId;
    }

    public Double getWeight() {
        return weight;
    }

    public void setWeight(Double weight) {
        this.weight = weight;
    }

    public Double getVolume() {
        return volume;
    }

    public void setVolume(Double volume) {
        this.volume = volume;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Long getDeliveryTemplateId() {
        return deliveryTemplateId;
    }

    public void setDeliveryTemplateId(Long deliveryTemplateId) {
        this.deliveryTemplateId = deliveryTemplateId;
    }

    public Integer getIsCompose() {
        return isCompose;
    }

    public void setIsCompose(Integer isCompose) {
        this.isCompose = isCompose;
    }

    public List<SpuSkuAttrValueVO> getSpuSkuAttrValueList() {
        return spuSkuAttrValueList;
    }

    public void setSpuSkuAttrValueList(List<SpuSkuAttrValueVO> spuSkuAttrValueList) {
        this.spuSkuAttrValueList = spuSkuAttrValueList;
    }

    public List<BrandLangVO> getBrandLangList() {
        return brandLangList;
    }

    public void setBrandLangList(List<BrandLangVO> brandLangList) {
        this.brandLangList = brandLangList;
    }

    public List<SpuLangVO> getSpuLangList() {
        return spuLangList;
    }

    public void setSpuLangList(List<SpuLangVO> spuLangList) {
        this.spuLangList = spuLangList;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public Long getShopCategoryId() {
        return shopCategoryId;
    }

    public void setShopCategoryId(Long shopCategoryId) {
        this.shopCategoryId = shopCategoryId;
    }

    public String getShopCategoryName() {
        return shopCategoryName;
    }

    public void setShopCategoryName(String shopCategoryName) {
        this.shopCategoryName = shopCategoryName;
    }

    @Override
    public String toString() {
        return "SupplierProdExcelVO{" +
                "seq='" + seq + '\'' +
                ", nameZh='" + nameZh + '\'' +
                ", sellingPointZh='" + sellingPointZh + '\'' +
                ", brandName='" + brandName + '\'' +
                ", categoryName='" + categoryName + '\'' +
                ", deliveryMode='" + deliveryMode + '\'' +
                ", deliveryTemplate='" + deliveryTemplate + '\'' +
                ", status='" + status + '\'' +
                ", skuNameZh='" + skuNameZh + '\'' +
                ", propertiesZh='" + propertiesZh + '\'' +
                ", priceFee='" + priceFee + '\'' +
                ", marketPriceFee='" + marketPriceFee + '\'' +
                ", stock=" + stock +
                ", partyCode='" + partyCode + '\'' +
                ", modelId='" + modelId + '\'' +
                ", weight=" + weight +
                ", volume=" + volume +
                ", spuId=" + spuId +
                ", deliveryTemplateId=" + deliveryTemplateId +
                ", isCompose=" + isCompose +
                ", spuSkuAttrValueList=" + spuSkuAttrValueList +
                ", brandLangList=" + brandLangList +
                ", spuLangList=" + spuLangList +
                ", categoryId=" + categoryId +
                ", shopCategoryId=" + shopCategoryId +
                ", shopCategoryName='" + shopCategoryName + '\'' +
                '}';
    }
}
